const path = require('path');

// 转场效果配置
const TRANSITION_CONFIG = {
    validTransitions: [
        // 基础转场效果
        'fade',           // 淡入淡出效果，平滑过渡
        'fadeblack',      // 淡入黑屏效果，常用于场景切换
        'fadewhite',      // 淡入白屏效果，明亮过渡
        'fadegrays',      // 灰度淡入淡出，黑白过渡效果

        // 擦除效果
        'wiperight',      // 向右擦除，从左到右的过渡
        'wipeleft',       // 向左擦除，从右到左的过渡
        'wipeup',         // 向上擦除，从下到上的过渡
        'wipedown',       // 向下擦除，从上到下的过渡

        // 滑动效果
        'slideleft',      // 向左滑动，带动画效果
        'slideright',     // 向右滑动，带动画效果
        'slideup',        // 向上滑动，带动画效果
        'slidedown',      // 向下滑动，带动画效果

        // 平滑过渡
        'smoothleft',     // 平滑向左过渡，更柔和的移动
        'smoothright',    // 平滑向右过渡，更柔和的移动
        'smoothup',       // 平滑向上过渡，更柔和的移动
        'smoothdown',     // 平滑向下过渡，更柔和的移动

        // 特殊效果
        'circlecrop',     // 圆形裁剪过渡，圆形扩散效果
        'rectcrop',       // 矩形裁剪过渡，矩形扩散效果
        'distance',       // 距离过渡，基于像素距离的过渡
        'radial',         // 径向过渡，从中心向外扩散

        // 模糊效果
        'hblur',          // 水平模糊过渡，水平方向模糊
        'vblur',          // 垂直模糊过渡，垂直方向模糊

        // 像素化效果
        'pixelize',       // 像素化过渡，画面逐渐像素化

        // 对角线效果
        'diagtl',         // 对角线过渡（左上到右下）
        'diagtr',         // 对角线过渡（右上到左下）

        // 切片效果
        'hlslice',        // 水平切片过渡，从左到右切片
        'hrslice',        // 水平反向切片，从右到左切片
        'vuslice',        // 垂直切片过渡，从上到下切片
        'vdslice',        // 垂直反向切片，从下到上切片

        // 旋转效果
        'rotateleft',     // 向左旋转过渡
        'rotateright',    // 向右旋转过渡

        // 缩放效果
        'zoom',           // 缩放过渡，画面缩放切换
        'zoomin',         // 放大过渡，画面逐渐放大
        'zoomout'         // 缩小过渡，画面逐渐缩小
    ],
    defaultTransition: 'wipeleft',
    defaultDuration: 1.2,
    defaultOffset: 2,
    defaultFps: 30,
    defaultWidth: 1280,
    defaultHeight: 720,
    defaultTotalDuration: 5
};

// 文件路径配置
const PATH_CONFIG = {
    uploadDir: path.join(__dirname, '../../uploads'),
    outputDir: path.join(__dirname, '../../output'),
    ffmpegDir: path.join(__dirname, '../../ffmpeg'),
    logsDir: 'logs'
};

// 服务器配置
const SERVER_CONFIG = {
    port: process.env.PORT || 3000,
    maxConcurrentJobs: 5
};

module.exports = {
    TRANSITION_CONFIG,
    PATH_CONFIG,
    SERVER_CONFIG
}; 